oqs-provider: add quantum-safe cryptography (QSC) provider
authorChristian Marangi <[email protected]>
Tue, 11 Nov 2025 22:53:50 +0000 (23:53 +0100)
committerChristian Marangi <[email protected]>
Tue, 18 Nov 2025 12:48:00 +0000 (13:48 +0100)
Add libopenssl provider of quantum-safe cryptography (QSC) library.

Tested-by: Eneas U de Queiroz <[email protected]>
Signed-off-by: Christian Marangi <[email protected]>
libs/oqs-provider/Makefile [new file with mode: 0644]
libs/oqs-provider/files/oqsprovider.cnf [new file with mode: 0644]

diff --git a/libs/oqs-provider/Makefile b/libs/oqs-provider/Makefile
new file mode 100644 (file)
index 0000000..2764c98
--- /dev/null
@@ -0,0 +1,44 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/openssl-module.mk
+
+PKG_NAME:=libopenssl-oqsprovider
+PKG_VERSION:=0.10.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/open-quantum-safe/oqs-provider.git
+PKG_SOURCE_VERSION:=f076e91faab88871ff1973db0287cc6e4b94c4b0
+PKG_MIRROR_HASH:=cf8fcc4b1cd8fc914bc7948c35666769d5f4a1ca40a36c049f116d6e216b3f82
+
+PKG_MAINTAINER:=Christian Marangi <[email protected]>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE.txt
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+$(eval $(call Package/openssl/add-provider,oqsprovider))
+define Package/libopenssl-oqsprovider
+  $(call Package/openssl/module/Default)
+  TITLE:=Open Quantum Safe provider for OpenSSL (3.x)
+  DEPENDS+=+liboqs
+  URL:=https://openquantumsafe.org/
+endef
+
+define Package/libopenssl-oqsprovider/description
+  This enable quantum-safe cryptography (QSC) in a standard OpenSSL (3.x)
+  distribution by way of implementing a single shared library, the
+  OQS provider.
+endef
+
+CMAKE_OPTIONS += \
+       -DBUILD_SHARED_LIBS=ON \
+       -DBUILD_TESTING=OFF \
+       -DOPENSSL_MODULES_PATH=/usr/lib/$(MODULES_DIR)
+
+$(eval $(call BuildPackage,libopenssl-oqsprovider))
diff --git a/libs/oqs-provider/files/oqsprovider.cnf b/libs/oqs-provider/files/oqsprovider.cnf
new file mode 100644 (file)
index 0000000..10734d6
--- /dev/null
@@ -0,0 +1,3 @@
+[oqsprovider_sect]
+activate = 1
+